Repository navigation
Document search, filtering, asset operations, and extension points - #134
Merged
Merged
Conversation
The live documentation site published only an index and a getting-started page, so the long-form guide stayed in README.md, where it drifted from the code it describes. Add four guide pages, each traced to source: - search-and-filter.md: the header-row search box covers every tracked type and matches names, type names, exact GUIDs, and string fields on nested plain objects, capped at 25 results. Also the type filter and the label filter, including that an empty clause never matches in OR mode and that the Advanced row refuses to collapse while OR labels exist. - managing-assets.md: where each asset operation lives, the per-type folder Create writes into, the clone naming rule, dialog validation messages, and processor scope with its load-in-progress refusal. - organizing.md: ordering, pane widths, both persistence targets and the migration between them, themes and their tokens, and the Play Mode pause. - extending.md: the display attribute, BaseDataObject, the lifecycle hooks with their defaults, IGUIProvider, IDisplayable, and IDataProcessor. Correct the README claims the sweep found false: the search box is in the window header row and is not scoped to the selected type, arrow buttons move a row to the top or bottom rather than stepping it, Create writes to a per-type folder under the Data Folder, clones strip any existing "(Clone n)" before reapplying one, label-filter OR semantics were omitted, the persistence setting names both targets, and label editing was missing.
An adversarial pass over every statement in the four new pages found five that the code contradicts: - Global search matches an asset when ANY space-separated term matches, not only when every term does, and a term is matched against string fields only when the name, type name, and GUID have not already matched it. - The "objects hidden by label filter" line highlights fewer than 20 hidden in yellow and 20 or more in red. It was stated the other way round. - A processor whose Accepts is null or empty is never offered; it does not apply to every type. - ReadOnly is internal to the package, so it is not part of the documented extension surface and the section claiming otherwise is gone. - Clone, Rename, Move, and Delete live on each object row, not above the object list, and act on that row's object without selecting it first.
wallstop
added a commit
that referenced
this pull request
Oct 9, 2026
The site documented the happy paths; the behaviors that look like bugs but are designed lived only in issues and progress notes. The T11 roadmap item asked for a troubleshooting page. Refs #114. ## Behavior - `docs/troubleshooting.md`: async loading and the `Loading In Progress` refusal, `Building search index…`, busy-database refresh deferral and postprocessor auto-refresh, missing-script and exact-type listing rules, idle-time selection normalization, the 860x480 and per-pane minimums with preferred-vs-clamped sizes, user-state and settings-asset recovery, and capture regeneration (CLI, output-dir argument/env var, project-root path resolution, meta-free staging, the macOS 6000.4 render-gap limit, container workflow). Every claim traced to `main`. - `mkdocs.yml` nav gains Troubleshooting after Extending; the index links it under Where to go next. ## Validation - `mkdocs build --strict` green; `site/troubleshooting/` published with all ten sections, the five PNGs present, zero `.meta` files; cross-page links resolve. - `npm run lint:llm` green; `npm pack` payload unchanged (172 files, no `docs/` paths). Docs-only change: Unity suites not exercised (precedent #130, #134, #144). ## Risk / Rollback - Docs-only: risk is stale guidance; capture-limits wording leans on the #114 record. Revert the single commit to remove the page and nav entry. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Documentation-only; no runtime or package code changes. Risk is outdated or incorrect user guidance, including capture-limit wording tied to #114. > > **Overview** > Adds a **Troubleshooting** page to the MkDocs site (`docs/troubleshooting.md`) so “looks broken but is by design” behavior is documented in one place instead of issues/notes. Sections cover gradual async object loading and processor refusal while loading, first-search index build, deferred refresh when the AssetDatabase is busy or Play Mode is active, exact-type and missing-script listing rules, post-recompile selection cleanup, window/pane minimum sizes, corrupt or empty persistence recovery, and how to regenerate `docs/images/` via `DocsImageCapture` (CLI, env var, staging paths, validation, and the macOS 6000.4 capture gap tied to [#114](#114)), plus a short container/host edit workflow note. > > **Navigation:** `mkdocs.yml` and **Where to go next** in `docs/index.md` link the new page. The diff currently registers **Troubleshooting twice** in both places (two nav items and two index bullets with slightly different blurbs)—likely an accidental duplicate worth collapsing to a single entry. A Unity `.meta` companion for the markdown file is also added. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 3be6036. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The docs site published only an index and a getting-started page, so the long-form guide stayed in README.md and drifted from the code. Four guide pages now carry it, and the drifted README claims are corrected.
Behavior
Validation
npm run lint:llm:fullgreen (19/19 self-test files),npm pack --dry-rununchanged at 172 files, CSharpier clean on 110 files. No C# or Unity change, so the Unity suites are not exercised.Risk / Rollback
Closes the T11 documentation-content items in PLAN.md. Related to #114.
Note
Low Risk
Documentation-only updates that describe existing editor behavior; no code paths or build artifacts change.
Overview
This PR moves the long-form user guide off README.md into four browsable MkDocs pages—search/filtering, asset operations, organizing/persistence, and extensibility—and wires them into
mkdocs.ymlnav plusdocs/index.mdandgetting-started.mdcross-links. README now points at the published docs site atwallstop.github.io/DataVisualizer/.README is corrected where it had drifted from the editor: global search lives in the header (all tracked types, field matching, 25-result cap), reorder arrows jump top/bottom (drag is documented), instance actions sit per row, Create uses per-type folders under Data Folder, clone suffix stripping, OR label-filter semantics, UserState persistence details, and new coverage for processors and label editing.
No runtime or editor code changes—documentation and Unity
.metafor new markdown only.Reviewed by Cursor Bugbot for commit fca86ae. Bugbot is set up for automated code reviews on this repo. Configure here.